#ifndef DEEPINMONITOR_H
#define DEEPINMONITOR_H

#include "IMonitor.h"
#include <QMap>

class DeepinMonitor : public IMonitor // 单例模式
{
    Q_OBJECT


public:
    static DeepinMonitor& instance();
    virtual void screenShot() override;
    virtual void stopMonitor() override;

private:
    explicit DeepinMonitor(QObject *parent = nullptr);
    void connectSignals();
    QMap<QString, int> m_keyMap;
    QString gid;

private slots:
    void onButtonPressed(int button, int x, int y, QString id);
    void onButtonReleased(int button, int x, int y, QString id);
    void onKeyPressed(QString name, int x, int y, QString id);
    void onKeyReleased(QString name, int x, int y, QString id);

};

#endif // DEEPINMONITOR_H
